29 research outputs found

    Modèle pour la redistribution de données complexes

    Get PDF
    National audienceDans le cadre du couplage de codes, la redistribution efficace des données est un enjeu majeur pour obtenir de bonnes performances. Or la plupart des travaux dans ce domaine se limitent à l'étude d'objets simples comme des tableaux denses avec des distributions bloc-cycliques. Les applications multi-physiques modernes ou les environnements de pilotage (couplage simulation-visualisation) peuvent conduire à des schémas de redistribution plus irréguliers mettant en jeu des données complexes. Dans ce papier, nous nous écartons des modèles de redistributions classiques pour nous intéresser à une approche plus générique, basée sur la notion d'objet complexe. Grâce à une formulation ensembliste du problème, nous proposons un algorithme de redistribution parallèle pouvant s'appliquer à des objets spatiaux (tableaux denses ou creux, grilles structurées, particules) utilisant des distributions par bloc généralisées

    Analyse, conception et réalisation d'un environnement pour le pilotage et la visualisation en ligne de simulations numériques parallèles

    Get PDF
    Le domaine de la simulation interactive ou computational steering a pour but d'améliorer le processus de simulation numérique (modélisation, calcul, analyse) en le rendant plus interactif. Dans cette approche, le scientifque n'attend plus passivement les résultats de la simulation ; il peut visualiser « en ligne » l'évolution des données calculées et peut interagir à tout moment en modifiant certains paramètres à la volée ou plus généralement en pilotant le déroulement des calculs. Un tel outil peut s'avérer très utile pour la compréhension des phénomènes physiques modélisés et la détection d'erreurs dans le cas de simulations longues. L'objectif de cette thèse est de concevoir et de développer une plate-forme logicielle, appelée EPSN (Environnement pour le Pilotage des Simulations Numériques), permettant de piloter une application numérique parallèle en s'appuyant sur des outils de visualisation eux-mêmes parallèles. En d'autres termes, il s'agit de mettre au service des scientifiques les capacités de la visualisation parallèle et plus largement de la réalité virtuelle (environnement immersif, murs d'images), une étape aujourd'hui cruciale pour la conception et l'exploitation de simulations numériques complexes en vraie grandeur. La mise en œuvre d'un couplage efficace entre simulation et visualisation soulève deux problèmes majeurs, que nous étudions dans cette thèse et pour lesquels nous souhaitons apporter une contribution : le problème de la coordination efficace des opérations de pilotages en parallèle et le problème de la redistribution pour des données complexes (grilles structurées, ensembles de particules, maillages non structurés).The computational steering is an effort to make the typical simulation work-flow (modeling, computing, analyzing) more efficient, by providing online visualization and interactive steering over the on-going computational processes. The online visualization appears very useful to monitor and to detect possible errors in long-running applications, and the interactive steering allows the researcher to alter simulation parameters on-the-fly and to immediately receive feedback on their effects. Thus, the scientist gains an additional insight in the simulation regarding to the cause-and-effect relationship. The purpose of this thesis is to design and to develop a software environment, called EPSN (Environment for the Steering of Parallel Numerical Simulations) that enables to steer parallel simulations with visualization systems that can be parallel as well. In other words, we want to provide an environment that can bene_t from immersive virtual reality technology (e.g. tiled display wall) and that might help scientists to better grasp the complexity of real-life simulations. Such a coupling between parallel numerical simulations and parallel visualization systems raises two crucial issues we investigate in this thesis: the problem of parallel coordination of steering operations and the problem of data redistribution of complex objects such as structured grids, particle set and unstructured meshes

    Enseigner avec GitLab

    Get PDF

    RedGRID: un environnement pour la redistribution d'objets complexes

    Get PDF
    National audienceDans le cadre du couplage de codes, la redistribution efficace des données est un enjeu majeur pour obtenir de bonnes performances. Or la plupart des travaux dans ce domaine se limitent le plus souvent à l'étude d'objets simples avec des distributions régulières, comme par exemple des tableaux denses avec une distribution bloc-cyclique. Afin de prendre en compte les applications modernes du couplage de codes (simulations multiphysiques, environnements de pilotage), il s'avère important de définir un modèle de description pour des objets plus complexes que des tableaux multidimensionnels (i.e. grilles structurées, ensembles de particules ou maillages non structurés) et de proposer de nouveaux algorithmes de redistribution adaptés. Dans ce papier, nous présentons deux approches de la redistribution : l'approche spatiale et l'approche placement. Au final, ces algorithmes sont implantés dans la bibliothèque RedGRID et sont validés par des résultats expérimentaux

    Approche placement pour la redistribution de données irrégulières

    Get PDF
    National audienceDans le cadre du couplage de codes, la redistribution efficace des données est un enjeu majeur pour obtenir de bonnes performances. Or la plupart des travaux dans ce domaine se limitent le plus souvent à l'étude d'objets structurés avec des distributions régulières (e.g. tableaux denses avec des distributions bloc-cycliques). Les applications multi-physiques modernes ou les environnements de pilotage (couplage simulation-visualisation) manipule fréquemment des données irrégulières, comme des ensembles de particules ou des maillages non structurés. Il s'avère donc important de proposer des méthodes de redistribution pouvant s'appliquer à ces objets. Dans ce papier, nous proposons une nouvelle approche de la redistribution, l'approche placement, bien adaptée au contexte du pilotage

    New graph partitioning techniques for load balancing of coupled simulation

    Get PDF
    International audienceClassic load balancing is a major issue that determines the performance of parallel applications,aiming to equally distribute the total computational load among processors in order to minimize the execution time.Many applications that arise in scientific computing, circuit design or database modellingemploy graph representation to describe and solve the problem of load balancing using graph partitioning techniques. The main objectives of graph partitioning is to divide the vertices of the graph in roughly equal parts,balancing computational load and minimizing communication costs.Unfortunately, graph partitioning is known to beNP-hard, so finding a partition of a given graphis usually based on heuristic techniques or approximatingalgorithms, integrated in widely used tools, such asMetis or Scotch.However, applications that emerge nowadays in real-life problems have more complex structureand may consist of numerous component simulations, coupled together, representing different models (coupled simulations). In this context, classic graph partitioning algorithms fail shortly to embody dependencies between different component models, thus reaching high performance can be a great challenge. In this work, we propose a new graph partitioning technique, called {\em co-partitioning}, that address the problem of load balancing forcoupled simulations. The key idea here is to perform a ``coupling-aware''partitioning, instead of partitioning these graphs independently, as itis usually done nowadays. More precisely, given a graph G that represents a component model, our first goal is to detect the subgraph G' whose vertices exchange information with other component graphs and then generate a balanced partition P' of G'.Following, we aim to extend the partition of the initialsubgraph P' to a new partition P that accounts for the whole graph G. It isessential that the vertices of the initial partition P' should not be moved toother parts. However vertices may be added to parts in P' or to new parts that belong only to partition P. The above constraint helps producing a final partitionthat is balanced during the whole execution of a coupled simulation, even when component models exchange information.In order to formulate the partitioning of coupled simulations, we introduce here some graph operators that describe our algorithms as a sequence of partitioning steps.Finally, we present a preliminary experimental studywhich compares our methods against the classic approach used in legacy coupled simulations. In order to evaluate the partitioning quality of graph operators, we use synthetically generated graphs and graphs frompopular data collections such as DIMACS'10.Our results are quite promising and our algorithms succeed to balance thecomputational load through out the whole execution of coupled simulations with only a small increase on the communication costs among different parts

    Équilibrage dynamique avec nombre variable de processeurs par une méthode de repartitionnement de graphe

    Get PDF
    National audienceL'équilibrage dynamique de charge est une étape cruciale qui conditionne la performance des codes adaptatifs dont l'évolution de la charge est difficilement prévisible. Néanmoins, l'ensemble des travaux dans ce domaine se limitent--à notre connaissance--au cas où le nombre de processeurs est fixé initialement et n'est pas remis en cause lors de l'équilibrage. Cela peut s'avérer particulièrement inefficace, notamment du point de vue de la consommation des ressources. Nous proposons dans cet article deux nouveaux algorithmes de repartitionnement de graphe permettant de faire varier le nombre de processeurs, en supposant que la charge du graphe est déjà équilibrée. Ces algorithmes optimisent conjointement la coupe et la migration des données en s'appuyant sur un modèle de partitionnement de graphe à sommets fixes. Des résultats expérimentaux valident nos travaux en les comparant à d'autres approches

    Repartitionnement d'un graphe de M vers N processeurs : application pour l'Ă©quilibrage dynamique de charge

    Get PDF
    National audienceL'équilibrage dynamique de charge est une étape cruciale qui conditionne la performance des codes adaptatifs dont l'évolution de la charge est difficilement prévisible. Néanmoins, l'ensemble des travaux dans ce domaine se limitent -- à notre connaissance -- au cas où le nombre de processeurs est fixé initialement et n'est pas remis en cause lors de l'équilibrage. Cela peut s'avérer particulièrement inefficace, notamment du point de vue de la consommation des ressources. Nous proposons dans cet article un nouvel algorithme de repartitionnement de graphe permettant de faire varier le nombre de processeurs, en supposant que la charge du graphe n'est pas modifiée. Cet algorithme optimise conjointement la coupe et la migration en s'appuyant sur un modèle de partitionnement de graphe à sommets fixes. Des résultats expérimentaux valident nos travaux en les comparant à d'autres approches

    Graph Operators for Coupling-aware Graph Partitioning Algorithms

    Get PDF
    International audienceClassic load balancing is a major issue that determines the performance of parallel applications, aiming to equally distribute the totalcomputational load among processors in order to minimize the totalexecution time.Many applications that arise in scientific computing, circuitdesign or database modelling employ graph representation todescribe and solve the problem of load balancing using graph partitioning techniques. The main objectives of graph partitioning isto divide the vertices of the graph in roughly equal parts, balancingcomputational load and to minimize the number of edges being cutbetween parts, reducing communication costs. In the literature, manygraph partitioning algorithms have been proposed and are widely usedwithin successful tools for load balancing or matrix reordering.However, applications that arise nowadays in real-life problemshave more complex structure and may consist of numerous componentsimulations, coupled together, that represent different models. Inthis context, classic graph partitioning algorithms fail shortly to em-body the coupling procedure between component simulations and leadto partitions that are not well balanced throughout the overall execution of the application, namely throughout the coupling phase.In our research, we propose graph partitioning techniques that ad-dress the problem of load balancing for coupled simulation, which werefer to as co-partitioning. The main idea of our algorithms is to per-form a “coupling-aware” partitioning, instead of partitioning the component simulations independently, as it is the currently used approach.To facilitate the description of our algorithms we describe them as asequence of graph operators that produce new graph structures or partitions based on repartitioning techniques or on fixed vertices biasedpartitioning.To conclude, we present results on a large graph collection derivingfrom artificially generated or real-life experiments in order to evaluateseparately the graph operators used in our algorithms in respect to thepartitioning quality, the edgecut minimization or the execution time

    A k-way Greedy Graph Partitioning with Initial Fixed Vertices for Parallel Applications

    Get PDF
    International audienceGraph partitioning is used to solve the problem of distributing computations to a number of processors, in order to improve the performance of time consuming applications in parallel environments. A common approach to solve this problem is based on a multilevel framework, where the graph is firstly coarsened to a smaller instance and then it is partitioned in a number of parts using recursive bisection (RB) based methods. However, in applications where initial fixed vertices are used to model additional constraints of the problem, RB based methods often fail to produce partitions of good quality. In this paper, we propose a new direct k-way greedy graph growing algorithm, called KGGGP, that overcomes this issue and succeeds to produce partition with better quality than RB while respecting the constraint of fixed vertices. In the experimental section, we present results which compare KGGGP against state-of-the-art methods for graphs available from the popular DIMACS'10 collection
    corecore